/***********************************************************************************
			FUNCION AJAX PARA EJECUCION DE PROYECTOS			
***********************************************************************************/
var url_ubicacion = "";
var url= "";
/***********************************************************************************
			LLAMADO DE VENTANA EMERGENTE	
***********************************************************************************/
var nuevaVentanaDos = "";
function ventanaSecundaria(Url)
{	

	if(vacio(document.formulario.categoria_proy.value) == false)
	{
		alert("El campo 'CATEGORIA' no debe de estar vacio.");
		document.formulario.cod_proyecto.focus();
		return false;		
	}
	if(vacio(document.formulario.cod_proyecto.value) == false)
	{
		alert("El campo 'CODIGO' no debe de estar vacio.");
		document.formulario.cod_proyecto.focus();
		return false;		
	}
	if(vacio(document.formulario.nombre_proyecto.value) == false)
	{	
		alert("El campo 'NOMBRE' no debe de estar vacio.");
      		document.formulario.nombre_proyecto.focus();
      		return false;
	}
	if(vacio(document.formulario.obj_proyecto.value) == false)
	{	
		alert("El campo 'OBJETIVO' no debe de estar vacio.");
		document.formulario.obj_proyecto.focus();
      		return false;
	}
	
	if(vacio(document.formulario.nombre_subcomision.value) == false)
	{	
		alert("El campo 'NOMBRE DE LA SUBCOMISION' no debe de estar vacio.");
		document.formulario.nombre_subcomision.focus();
		return false;
	}

	
	if(vacio(document.formulario.nombre_area.value) == false)
	{	
		alert("El campo 'NOMBRE DEL AREA' no debe de estar vacio.");
		document.formulario.nombre_area.focus();
		return false;
	}


	if(document.formulario.perspectiva.value == "")
	{
		alert("El campo 'SITUACIÓN (AVANCES Y LOGROS)' no debe de estar vacio.");
		document.formulario.perspectiva.focus();
		return false;		
	}
	if(document.formulario.status_proyecto.value == 0)
	{	
		alert("El campo 'ESTATUS' no debe de estar vacio.");
		document.formulario.status_proyecto.focus();
		return false;
	}
	
	var cod_proyecto = document.formulario.cod_proyecto.value;
	var nombre_proyecto = document.formulario.nombre_proyecto.value;
	var obj_proyecto = document.formulario.obj_proyecto.value;
	var nombre_subcomi = document.formulario.nombre_subcomision.value;
	var nombre_area = document.formulario.nombre_area.value;
	var perspectiva = document.formulario.perspectiva.value;
	var estatus_proy = document.formulario.status_proyecto.value;
	var usuario = document.formulario.usuario.value;
	var fecha_registro = document.formulario.fecha_registro.value;
	var accion = document.formulario.accion.value;
	var id_usuario = document.formulario.id_usuario.value;
	var id_subcomi = document.formulario.id_subcomi.value;
	var id_area = document.formulario.id_area.value;
	var categoria = document.formulario.categoria_proy.value;
var para = "cod_proyecto="+cod_proyecto+"&nombre_proyecto="+nombre_proyecto+"&obj_proyecto="+obj_proyecto+"&nombre_subcomi="+nombre_subcomi+"&nombre_area="+nombre_area+"&perspectiva="+perspectiva+"&estatus_proy="+estatus_proy+"&usuario="+usuario+"&fecha_registro="+fecha_registro+"&accion="+accion+"&id_usuario="+id_usuario+"&id_subcomi="+id_subcomi+"&id_area="+id_area+"&fecha_registro="+fecha_registro+"&categoria="+categoria;
	
var Url_final=Url+"?"+para;

	nuevaVentanaDos = window.open(Url_final,"ventana1","width=1000,height=500,scrollbars=YES");
	nuevaVentanaDos.focus();
}

function insertar_instrumento1(cod_proyecto, nombre_proye, obj_proyecto, perspectiva, estatus_proy,usuario, fecha_registro,accion, id_usuario, id_subcomi,id_area, array_nombre, array_tamano, array_tpo_inst, array_desc_inst, numRow, nombres_para_validar, tipo_para_validar, descrip_para_validar, fecha_registro,categoria)
{
		var 
		parametros="cod_proyecto="+cod_proyecto+"&nombre_proyecto="+nombre_proye+"&obj_proyecto="+obj_proyecto+"&perspectiva="+perspectiva+"&estatus_proy="+estatus_proy+"&usuario="+usuario+"&fecha_registro="+fecha_registro+"&accion="+accion+"&id_usuario="+id_usuario+"&id_subcomi="+id_subcomi+"&id_area="+id_area+"&array_nombre="+array_nombre+"&array_tpo_inst="+array_tpo_inst+"&array_desc_inst="+array_desc_inst+"&fecha_registro="+fecha_registro+"&categoria="+categoria;

		insertarProyecto(parametros);
	
}
/***********************************************************************************
		FUNCION AJAX PARA INSERTAR PROYECTOS					
***********************************************************************************/

function insertarProyecto(parametros)
{	
	
	$.ajax({ async:true, type: "GET", dataType: "html", url:"ajax/ejecutarProyecto.php", data:parametros, beforeSend:inicioInsertarProyecto, success:llegadaInsertarProyecto, timeout:2000, error:problemasInsertarProyecto}); 
}

function inicioInsertarProyecto()
{
	$("insertarProyecto").html("<IMG src='" + url_ubicacion + "img/cargando.gif' height='15' width='15' alt='Cargando...'>");
}
function llegadaInsertarProyecto(datos)
{	
	
	opener.cerrar();
}
function cerrar()
{
	nuevaVentanaDos.close();
	url="http://localhost/sistemacman/index.php";
	alert("Los datos fueron registrados exitosamente");
	sleep(100);
 	location.href=url;
}
function problemasInsertarProyecto()
{
	$("insertarProyecto").text('Problemas en el Servidor.');
}
function sleep(millisegundos)
{
	var inicio = new Date().getTime();
	while ((new Date().getTime() - inicio) < millisegundos);
}

/*******************************************************************
DESCRIPCION: Funcion para ELIMINAR CARACTERES NO VALIDO
********************************************************************/
function caracter_malo(checkStr)
{
	var checkBAD = "*/'\"\\";
	var checkFinal="";
	for (i = 0;  i < checkStr.length;  i++)
	{
		band=0;
		c1 = checkStr.charAt(i);
		for (j = 0;  j < checkBAD.length;  j++)
		{
			c2 = checkBAD.charAt(j);file:///var/www/sistemampd/parts/usuarios/js/function_js.js
			if(c2==c1 )
			{
				band=1; break;
			}
		}
		if (band == 0)
		{
			checkFinal=checkFinal+c1;
		}
	}
	return checkFinal;  
}

/************************************************************************
DESCRIPCION: busca caracteres que no sean espacio en blanco en una cadena
*************************************************************************/
function vacio(campo)
{
	for ( i = 0; i < campo.length; i++ ) {
		if ( campo.charAt(i) != "0" ) {
			return true
		}
	}
	return false
}



/************************************************************************
DESCRIPCION: busca caracteres que no sean numeros o letras
*************************************************************************/
function busca_caracter(checkStr)
{
var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú " + "0123456789";
var allValid = true;
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {	
allValid = false;
break;
}
}
if (!allValid) {
return (false);
}
}

/************************************************************************
DESCRIPCION: busca caracteres que no sean numeros o letras
*************************************************************************/
function busca_num(checkStr)
{
var checkOK = "0123456789";
var allValid = true;
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
}
if (!allValid) {
return (false);
}
}

/************************************************************************
DESCRIPCION: busca caracteres que no sean numeros o letras
*************************************************************************/
function busca_num1(checkStr)
{
var checkOK = "-0123456789";
var allValid = true;
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
}
if (!allValid) {
return (false);
}
}
/************************************************************************
DESCRIPCION: busca caracteres que no sean numeros o letras
*************************************************************************/
function busca_letra(checkStr)
{
var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú";
var allValid = true;
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {	
allValid = false;
break;
}
}
if (!allValid) {
return (false);
}
}

/*************************************************************************************************
DESCRIPCI0N: Verifica que si existen espacios en blanco consecutivos en una cadena de caracteres
*************************************************************************************************/
function validarEspacios(checkStr)
{
var cont=0;
for(i=0;i<checkStr.length;i++)
 {
 	if (checkStr.charAt(i)==" ") {cont++;}
	else cont=0;
 	if (cont==2) {  return (false);}
 
 }
 return (true);
}  
/*************************************************************************************************
DESCRIPCI0N: Cambia el Formato del Monto Base por uno entendido por la base de datos. 
*************************************************************************************************/
function unformatNumber(num)
{
    return num.replace(/([^0-9\.\-])/g,'')*1;
}

/*********************************FUNCION PARA DAR FORMATO A UN NUMERO*********************/

function FormatearNumero(num,prefix)
{
	var num2=num.value;
	num2=num2.replace(',','.');
	num2=parseFloat(num2);
	num2=num2.toFixed(2);
	num2=num2.toString();
	num2=num2.replace('.',',');
	var num_aux = num.value.replace(',',"");
	if(!isNaN(num_aux))
	{
		var letra=',';
		cont = 0;
		 for(i=0;i<num2.length;i++)
		 {
		   let = num2.substring(i,(i+1));
		   if (letra == let){
			  cont = cont+1;
		}
    }
	if(cont==0) 
    {
	   alert("Sólo se permiten comas(,) como carácter decimal"); 
	   num.value='';
    }
    else
    {
		prefix = prefix ||'';
		num2 +='';
		var splitStr = num2.split(',');
		var splitLeft = splitStr[0];
		var splitRight = splitStr.length > 1 ? ',' + splitStr[1] : '';
		var regx = /(\d+)(\d{3})/;
		while (regx.test(splitLeft)) 
		{
			splitLeft = splitLeft.replace(regx, '$1' + '.' + '$2');
	    }
	num.value=prefix + splitLeft + splitRight}
	}
else
{
alert("Sólo se permiten números");
num.value = num.value.replace(/[^\d\.]*/g,"");
num.value='';
}

	return (false);
}

function DarFormato(num,prefix)
{

	var num2=num;
	prefix = prefix ||'';
	num2 +='';
	var splitStr = num2.split(',');
	var splitLeft = splitStr[0];
	var splitRight = splitStr.length > 1 ? ',' + splitStr[1] : '';
	var regx = /(\d+)(\d{3})/;
	while (regx.test(splitLeft)) 
	{
		splitLeft = splitLeft.replace(regx, '$1' + '.' + '$2');
	}
	num = prefix + splitLeft + splitRight;

	return(num);
}
/////////////////////////////////////////////////CONVERTIR A NUMERO Y NUEVAMENTE DAR FORMATO/////////////
function ConvertirNumero(campo)
{
	var valor=campo;
	while(valor.indexOf(".")>0)
	{valor=valor.replace('.',"");}
	valor=valor.replace(',','.');
	valor=valor*1;
	return (valor);
}

function ConvertirFormato(campo)
{
	var valor=campo;
	//alert(valor);
	valor=valor.toFixed(2);
	valor=valor.toString();
	valor=valor.replace('.',',');
	valor=DarFormato(valor);	
	return (valor);
}

///////////////////////////FUNCIÒN QUE VALIDA EL FORMATO DE LOS PORCENTAJES/////////////////

function Porcentaje(valor,prefix)
{	
	var num2=valor.value;
	/*var dato =new String;
	dato=num2;
	var longitudCampo=dato.length;
	if(longitudCampo!=6)
	{
		alert("El campo debe tener una longitud de 6 caracteres");
		valor.value='';
		valor.focus();
		return(false);
	}*/
	
	num2=num2.replace(',','.');
	num2=parseFloat(num2);
	num2=num2.toFixed(2);
	var num_valida=num2;
	num2=num2.toString();
	num2=num2.replace('.',',');
	
	var num_aux = valor.value.replace(',',"");
	if(!isNaN(num_aux))
	{
		var letra=',';
		var cont = 0;
		if(num_aux>10000 || num_valida>100 || num_valida<0)
		{
			alert("El Porcentaje Debe ser entre 0 y 100");   
			valor.value='';
		}
		else
		{
		 for(i=0;i<num2.length;i++)
		 {
		   let = num2.substring(i,(i+1));
		   if (letra == let)
		   {
			
			  cont = cont+1;
			}
    	}
		if(cont==0) 
    	{
	   alert("Sólo se permiten comas(,) como carácter decimal"); 
	   valor.value='';
    	}
    	else
    	{
		prefix = prefix ||'';
		num2 +='';
		var splitStr = num2.split(',');
		var splitLeft = splitStr[0];
		var splitRight = splitStr.length > 1 ? ',' + splitStr[1] : '';
		var regx = /(\d+)(\d{3})/;
		while (regx.test(splitLeft)) 
		{
			splitLeft = splitLeft.replace(regx, '$1' + '.' + '$2');
	    }
	valor.value=prefix + splitLeft + splitRight}
		}
	}
else
{
alert("Sólo se permiten números");
valor.value = valor.value.replace(/[^\d\.]*/g,"");
valor.value='';
}

	return (false);


}

/*****************************************************************
DESCRIPCION: Funcion para validar Email
*****************************************************************/
function valEmail(valor){
    re=/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/
    if(!re.exec(valor))    {
        return false;
    }else{
        return true;
    }
}

/************************************************************************************/
/*																										*/
/*			FUNCION PARA HACER EL LLAMADO A LA ELIMINACIÒN DE PROYECTOS		*/
/*																										*/
/************************************************************************************/
function elimina_proyectos(id_proyecto)
{	var confirmar=confirm("¿Realmente desea Desactivar Estos Datos?");
	if(confirmar==true)
	{
	
		var accion=1;
		var parametros="id_proyecto="+id_proyecto+"&accion="+accion;
		eliminarproyectos(parametros);
	} else
	{ 
		javascript:updateView('parts/proyectos/proyectos.php');
		
	}

}

function eliminarproyectos(parametros)
{
  	$.ajax({ async:true, type: "GET", dataType: "html", url:"parts/no_proyectos/ajax/eliminarProyectos.php", data:parametros, beforeSend:inicioEliminar, success:llegadaEliminar, timeout:2000, error:problemasEliminar }); 
	return false;
}

function inicioEliminar()
{

      $("#eliminarproyectos").html("<IMG src='" + url_ubicacion + "img/cargando.gif' height='15' width='15' alt='Cargando...'>");
}

function llegadaEliminar(datos)
{
	alert("Los datos han sido desactivado");
	setTimeout("javascript:updateView('parts/no_proyectos/no_proyectos.php?v=1')"); 
}

function problemasEliminar()
{
	$("#eliminarproyectos").text('Problemas en el Servidor.');
}

/************************************************************************************/
/*																										*/
/*			FUNCION PARA HACER EL LLAMADO A LA ACTIVACIÒN DE PROYECTOS		*/
/*																										*/
/************************************************************************************/
function activa_proyectos(id_proyecto)
{	var confirmar=confirm("¿Realmente Desea Activar Estos Datos?");
	if(confirmar==true)
	{
	
		var accion=2;
		var parametros="id_proyecto="+id_proyecto+"&accion="+accion;
		activarproyectos(parametros);
	} else
	{ 
		javascript:updateView('parts/no_proyectos/no_proyectos.php');
		
	}

}

function activarproyectos(parametros)
{
  	$.ajax({ async:true, type: "GET", dataType: "html", url:"parts/no_proyectos/ajax/eliminarProyectos.php", data:parametros, beforeSend:inicioActivar, success:llegadaActivar, timeout:2000, error:problemasActivar}); 
	return false;
}

function inicioActivar()
{

	
      $("#activarproyectos").html("<IMG src='" + url_ubicacion + "img/cargando.gif' height='15' width='15' alt='Cargando...'>");
}

function llegadaActivar(datos)
{
	alert("Los Datos han sido activados");
	setTimeout("javascript:updateView('parts/no_proyectos/no_proyectos.php')"); 
}

function problemasActivar()
{
	$("#activarproyectos").text('Problemas en el Servidor.');
}


/***************************FUNCIÒN PARA  LA MODIFICACIÒN DE LOS PROYECTOS*************/
function ModificarProyecto(parametros)
{	
	//alert(parametros);
  	$.ajax({ async:true, type: "GET", dataType: "html", url:"parts/no_proyectos/ajax/ejecutarProyecto.php", data:parametros, beforeSend:inicioModiProyecto, success:llegadaModiProyectos, timeout:2000, error:problemasModiProyectos }); 
	return false;
}

function inicioModiProyecto()
{

      $("#ModificarProyecto").html("<IMG src='" + url_ubicacion + "img/cargando.gif' height='15' width='15' alt='Cargando...'>");
}

function llegadaModiProyectos(datos)
{
	//alert(datos);
	alert("Los Datos Bàsicos han sido Actualizados")
	setTimeout("javascript:updateView('parts/no_proyectos/no_proyectos.php?v=1')"); 
}

function problemasModiProyectos()
{

	$("#ModificarProyecto").text('Problemas en el Servidor.');
}

/***************************FUNCIÒN PARA VALIDAR LA MODIFICACIÒN DE LOS PROYECTOS*************/
function valida_proyecto_modi()
{
	if(vacio(document.formulario.categoria_proy.value) == false)
	{
		alert("El campo 'CATEGORIA' no debe de estar vacio.");
		document.formulario.categoria_proy.focus();
		return false;		
	}
	if(vacio(document.formulario.cod_proyecto.value) == false)
	{
		alert("El campo 'CODIGO' no debe de estar vacio.");
		document.formulario.cod_proyecto.focus();
		return false;		
	}
	if(vacio(document.formulario.nombre_proyecto.value) == false)
	{	
		alert("El campo 'NOMBRE' no debe de estar vacio.");
      		document.formulario.nombre_proyecto.focus();
      		return false;
	}
	if(vacio(document.formulario.obj_proyecto.value) == false)
	{	
		alert("El campo 'OBJETIVO' no debe de estar vacio.");
		document.formulario.obj_proyecto.focus();
      		return false;
	}
	
	if(vacio(document.formulario.nombre_subcomision.value) == false)
	{	
		alert("El campo 'NOMBRE DE LA SUBCOMISION' no debe de estar vacio.");
		document.formulario.nombre_subcomision.focus();
		return false;
	}

	
	if(vacio(document.formulario.nombre_area.value) == false)
	{	
		alert("El campo 'NOMBRE DEL AREA' no debe de estar vacio.");
		document.formulario.nombre_area.focus();
		return false;
	}


	if(document.formulario.perspectiva.value == "")
	{
		alert("El campo 'SITUACIÓN (AVANCES Y LOGROS)' no debe de estar vacio.");
		document.formulario.perspectiva.focus();
		return false;		
	}
	if(document.formulario.status_proyecto.value == 0)
	{	
		alert("El campo 'ESTATUS' no debe de estar vacio.");
		document.formulario.status_proyecto.focus();
		return false;
	}
	
	var cod_proyecto = document.formulario.cod_proyecto.value;
	var nombre_proyecto = document.formulario.nombre_proyecto.value;
	var obj_proyecto = document.formulario.obj_proyecto.value;
	var nombre_subcomi = document.formulario.nombre_subcomision.value;
	var nombre_area = document.formulario.nombre_area.value;
	var perspectiva = document.formulario.perspectiva.value;
	var estatus_proy = document.formulario.status_proyecto.value;
	var usuario = document.formulario.usuario.value;
	var fecha_registro = document.formulario.fecha_registro.value;
	var accion = document.formulario.accion.value;
	var id_usuario = document.formulario.id_usuario.value;
	var id_subcomi = document.formulario.id_subcomi.value;
	var id_area = document.formulario.id_area.value;
	var id_proyecto = document.formulario.id_proyecto.value;
	var categoria = document.formulario.categoria_proy.value;
var parametros= "cod_proyecto="+cod_proyecto+"&nombre_proyecto="+nombre_proyecto+"&obj_proyecto="+obj_proyecto+"&nombre_subcomi="+nombre_subcomi+"&nombre_area="+nombre_area+"&perspectiva="+perspectiva+"&estatus_proy="+estatus_proy+"&usuario="+usuario+"&fecha_registro="+fecha_registro+"&accion="+accion+"&id_usuario="+id_usuario+"&id_subcomi="+id_subcomi+"&id_area="+id_area+"&fecha_registro="+fecha_registro+"&id_proyecto="+id_proyecto+"&categoria="+categoria;

ModificarProyecto(parametros);

}

/*************************FIN DE LAS VALIDACIONES DE LOS PROYECTOS**********************************/

/***********************************************************************************
			FUNCION AJAX CARGAR PEDAZOS DEL FORMULARIO
***********************************************************************************/
function refreshdiv_formulario(valor,id_proyecto){

if(valor==4)
{
var url="parts/no_proyectos/Listar_imagenes.php?id_proyecto="+id_proyecto;
updateView(url);
}
}

var numRow5 = 0; // ESTA VARIABLE ME CONTROLA EL NUMERO DE LOS SUB-INDICES DE CDA CAMPO DE LOS INSTRUMENTOS (MUUUUUY IMPORTANTE)!!!
var array5 = new Array();

function agregar_filas5(id)
{	
	if(numRow5==0)
	{
		array5[0]=1;
	}
	numRow5++;
	array5[numRow5]=1;
	
	var tbody = document.getElementById(id);
	var row = document.createElement("TR");
	numFilas=document.getElementById(id).rows.length;
	var td1 = document.createElement("TD");
	
	enviarDatos5(td1,'../no_proyectos/mas_instrumentos.php?numRow5='+numRow5, numRow5);

	//AGREGANDO ESTILOS

	row.setAttribute('style','background:#ffffff;');
	row.setAttribute('id',numRow5);
	td1.setAttribute('style','width:100%;');
	td1.setAttribute('class','sombra2');
	row.appendChild(td1);
	tbody.appendChild(row);
}

//FUNCION QUE BORRA LOS ELEMENTOS CREADOS DINAMICAMENTE //

var borrados5 = 0; //VARIABLE QUE ME CONTROLA CUANTOS ELEMENTOS HE BORRADO

function borrar5(obj)
{
	array5[obj]=0;
	var tbody = document.getElementById('fila5');
	tbody.removeChild(document.getElementById(obj));
	borrados5++;
}

// OBJETO AJAX Y FUNCION QUE PERMITE LLAMAR A UN PHP //

function objetoAjax5()
{
	var xmlhttp=false;
	try{
       		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}catch (e){
        	try {
           		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch (E) {
           		 	xmlhttp = false;
          	}
	}

    	if(!xmlhttp && typeof XMLHttpRequest!='undefined'){
        xmlhttp = new XMLHttpRequest();
    	}
    	return xmlhttp;
}


function enviarDatos5(celda, destino, id, opcion)
{  
	cadenaFormulario='id='+encodeURI(id);
    	ajax=objetoAjax5();
	ajax.open("POST", destino, true);
        ajax.onreadystatechange=function(){
 
		if (ajax.readyState==4)
 		{
			celda.appendChild(document.createTextNode('espere...'));
 			 celda.innerHTML=ajax.responseText;
		}
        }
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        ajax.send(cadenaFormulario);
}



